Automatic Persistent Memory Management for the Spotless Java Virtual Machine on the Palm Connected Organizer
نویسندگان
چکیده
Palm organizers are widely used in a multi-tasking fashion. Users switch from one application to another without losing the context established in either of them. Despite its obvious usefulness there is no automatic support for this convenience in the organizer’s operating system, PalmOS. Programmers must implement event callbacks that use the PalmOS database API to save and reload specific application state. In this report we describe how this burden can be eliminated. We enhanced the Spotless Java virtual machine for the Palm organizer with transparent multitasking support that automates persistence. As a consequence, running Java programs can be transfered between two Palm organizers using the infra-red link. A transfered program will resume on the receiving organizer in the exact same state as it had on the sender. In addition, a HotSync operation can effectively be used to establish a checkpoint for each Java program involved. Originally, the address range available for running ∗TRADEMARKS Sun, Sun Microsystems, the Sun logo, and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. †now at: CoreMedia AG, Düsternstrasse 3, D-20355 Hamburg programs was restricted to a few tens of KB in the dynamic RAM area. By directly addressing the much larger static RAM area our modified VM supports address ranges of several MB. We provide an easy-to-use protocol that leverages persistent threads for automatic life cycle control of external resources (e.g. windows, forms and databases). When applied at the library level, this protocol maintains complete persistence transparency for the application programmer.
منابع مشابه
Automatic Persistent Memory Management for the SpotlessTM Virtual Machine on the Palm Connected Organizer
Palm organizers are widely used in a multi-tasking fashion. Users switch from one application to another without losing the context established in either of them. Despite its obvious usefulness, there is no automatic support for this convenience in the organizer’s operating system, PalmOS. Programmers must implement event callbacks that have to operate on a PalmOS database API to save and reloa...
متن کاملUSENIX Association Proceedings of the Java TM Virtual Machine Research
Palm organizers are widely used in a multi-tasking fashion. Users switch from one application to another without losing the context established in either of them. Despite its obvious usefulness there is no automatic support for this convenience in the organizer’s operating system, PalmOS. Programmers must implement event callbacks that use the PalmOS database API to save and reload specific app...
متن کاملThe Spotless System: Implementing a JavaTM System for the Palm Connected Organizer
The majority of recent Java implementations have been focused on speed. There are, however, a large number of consumer and industrial devices and embedded systems that would benefit from a small Java implementation supporting the full bytecode set and dynamic class loading. In this report we describe the design and implementation of the Spotless system, which is based on a new Java virtual mach...
متن کاملUSENIX Association Proceedings of the Java TM Virtual Machine Research
For the application of Java in realtime and safety critical domains, an analysis of the worst-case execution times of primitive Java operations is necessary. All primitive operations must either execute in constant time or have a reasonable upper bound for their execution time. The difficulties that arise for a Java virtual machine and a Java compiler in this context will be presented here. Thi...
متن کاملDeterministic Execution of Java's Primitive Bytecode Operations
For the application of Java in realtime and safety critical domains, an analysis of the worst-case execution times of primitive Java operations is necessary. All primitive operations must either execute in constant time or have a reasonable upper bound for their execution time. The difficulties that arise for a Java virtual machine and a Java compiler in this context will be presented here. Thi...
متن کامل